Over-provisioning is a feature in storage systems where the amount of actual or physical storage exceeds some advertised amount of storage or user logical space. For example, a storage drive may be advertised to have 1 MB of storage, or the user can read from or write to 1 MB's worth of logical addresses, but the amount of actual or physical storage is greater than 1 MB. In one example, the amount of over-provisioning may be calculated as:
                              op          ⁡                      (            t            )                          =                                            s              ⁡                              (                t                )                                      u                    ×          100          ⁢          %                                    (        1        )            where op(t) is the amount of over-provisioning (in percentage) at time t, s(t) is the amount of spare space (i.e., over-provisioning) at time t (e.g., since blocks may go bad with wear), and u is the amount of user (logical) space (e.g., the advertised amount of space). For example, with a storage system with 1 MB of advertised storage space (i.e., u=1 MB), 7% of over-provisioning would have 70 KB of spare space (i.e., s=70 KB) for a total of 1.07 MB actual or physical storage (i.e., u+s=1.07 MB).
New techniques which better select and/or adjust the amount of over-provisioning would be desirable.